package cn.mccraft.uide.api.plugin;

import java.util.Locale;
import java.util.Optional;

import javax.annotation.Nonnull;

import cn.mccraft.uide.api.util.i18n.I18n;
import ro.fortsoft.pf4j.PluginWrapper;

public interface PluginI18nManager {
	
	@Nonnull
	Locale getLocale();
	
	void setLocale(@Nonnull Locale locale);
	
	@Nonnull
	String localize(@Nonnull String key);
	
	@Nonnull
	String localize(@Nonnull String key, @Nonnull Object... values);
	
	Optional<I18n> getI18n();
	
	@Nonnull
	I18n getI18n(PluginWrapper pluginWrapper);
}
